﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GalaSoft.MvvmLight;
using System.Windows;

namespace DiagramDesigner
{
    public class LineModel : ObservableObject
    {
        /// <summary>
        /// The <see cref="Pt1" /> property's name.
        /// </summary>
        public const string Pt1PropertyName = "Pt1";

        private Point _pt1 = new Point(0,0);

        /// <summary>
        /// Sets and gets the Pt1 property.
        /// Changes to that property's value raise the PropertyChanged event. 
        /// </summary>
        public Point Pt1
        {
            get
            {
                return _pt1;
            }

            set
            {
                if (_pt1 == value)
                {
                    return;
                }

                _pt1 = value;
                RaisePropertyChanged(Pt1PropertyName);
            }
        }

        /// <summary>
        /// The <see cref="Pt2" /> property's name.
        /// </summary>
        public const string Pt2PropertyName = "Pt2";

        private Point _pt2 = new Point(0,0);

        /// <summary>
        /// Sets and gets the Pt2 property.
        /// Changes to that property's value raise the PropertyChanged event. 
        /// </summary>
        public Point Pt2
        {
            get
            {
                return _pt2;
            }

            set
            {
                if (_pt2 == value)
                {
                    return;
                }

                _pt2 = value;
                RaisePropertyChanged(Pt2PropertyName);
            }
        }
    }

    //public class BoundLineModel : LineModel
    //{        

    //    public BoundLineModel(LineModel lm)
    //        : base()
    //    {
    //        baseline = lm;
    //        this.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(BoundLineModel_PropertyChanged);
    //        baseline
    //    }

    //    void BoundLineModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    //    {
    //        throw new NotImplementedException();
    //    }        
                
    //}
}
